{"id":1614,"date":"2007-11-15T10:47:36","date_gmt":"2007-11-15T14:47:36","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/2007\/11\/15\/dalvik\/"},"modified":"2007-11-15T10:47:40","modified_gmt":"2007-11-15T14:47:40","slug":"dalvik","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2007\/11\/15\/dalvik\/","title":{"rendered":"Dalvik: How Google Routed Around Sun&rsquo;s IP-based Licensing Restrictions on Java ME"},"content":{"rendered":"<p>How nice to be able to solve a political and business problem by writing a compiler. Instead of licensing Java ME for their Android cell phone platform, Google <a href=\"http:\/\/www.betaversion.org\/~stefano\/linotype\/news\/110\/\">wrote their own virtual machine<\/a> called Dalvik (via <a href=\"http:\/\/daringfireball.net\/linked\/2007\/november#tue-13-dalvik\">John Gruber<\/a>). The Android SDK includes a tool called &ldquo;dx&rdquo; that translates Java <tt>.class<\/tt> files into Dalvik <tt>.dex<\/tt> files. So you can use your existing Java code and tools, but the phone doesn&rsquo;t actually run the Java VM. And since Dalvik is a register machine, perhaps this will invigorate the old <a href=\"http:\/\/www.sidhe.org\/~dan\/blog\/archives\/000189.html\">register vs. stack<\/a> debate.<\/p>","protected":false},"excerpt":{"rendered":"<p>How nice to be able to solve a political and business problem by writing a compiler. Instead of licensing Java ME for their Android cell phone platform, Google wrote their own virtual machine called Dalvik (via John Gruber). The Android SDK includes a tool called &ldquo;dx&rdquo; that translates Java .class files into Dalvik .dex files. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-1614","post","type-post","status-publish","format-standard","hentry","category-programming-category"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/1614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=1614"}],"version-history":[{"count":0,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/1614\/revisions"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=1614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=1614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=1614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}