① 如何創建為android可載入內核模塊
<一個href="http://tthtlc.word$p$pss.com/2011/12/29/how-to-write-a-kernel-mole-on-android-sony-ericsson-xperia-arc-s/" rel="nofollow">http://tthtlc.word$p$pss.com/2011/12/29/how-to-write-a-kernel-mole-on-android-sony-ericsson-xperia-arc-s/
我寫並測試了code對我的索尼愛立信Xperia Arc S和它的工作原理(一般在應該適用於所有Android手機)。
通過亞洲開發銀行和USB,和「蘇」根連接,在「lsmod的」中列出的所有內核模塊(在一般情況下,在文章的 http://developer.sonyericsson.com/wp/2011/05/06/how-to-build-a- { 返回0; } { }
<一個href="http://developer.sonyericsson.com/wportal/devworld/downloads/download/30a2181182tarbz2?cc=gb&lc=en" rel="nofollow">http://developer.sonyericsson.com/wportal/devworld/downloads/download/30a2181182tarbz2?cc=gb&lc=en
② android 插件化怎麼把幾個模塊一起打包
1、java 裡面直接把 .class 文件打包到 .jar 文件裡面就可以了,但是 Android 的 Dalvik VM 是不認 Java 的 byte code 的,所以不能直接這么打包,而要用 dx 工具轉成 Dalvik byte code 才可以。當然,dx 工具轉了之後,jar 包裡面就不是 .class 文件了,而是 .dex 文件。 2、可以做成server 利用broadcast,pendingIntent,Intent去通信,再provider數據共享過濾器設置下就能實現這樣的效果 3、國內的各大應用市場的安卓客戶端就是這么做的,由市場客戶端可以下載各個功能客戶端,在市場里可以對這些功能客戶端進行更新、刪除、打開操作。其實如果需求是定製化的應用市場,比如「辦公應用市場」,在功能性的規則介面定義好之後,可以增加更多的業務邏輯,比如說「從市場客戶端開啟功能客戶端的具體某個頁面」,或者「從市場客戶端調用功能客戶端的某個功能」。
③ android 模塊化 application應該放在哪
通過Intent你可以把一個應用當作你的高級庫,使你的代碼模塊化易復用。例如:Android主屏幕中的撥號功能,就是通過Intent調用的撥號程序。 * method queries the package manager for installed packages that can * respond to an intent with the specified action. If no suitable package is * found, this method returns false.** @param context The application's environment. * @param action The Intent action to check for availability.** @return True if an Intent with the specified action can be sent and * responded to, false otherwise.*/public static boolean isIntentAvailable(Context context, String action) { final PackageManager packageManager = context.getPackageManager(); final Intent intent = new Intent(action); List<ResolveInfo list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); return list.size() 0;}使用方法如下:@Overridepublic boolean onPrepareOptionsMenu(Menu menu) { final boolean scanAvailable = isIntentAvailable(this, com.google.zxing.client.android.SCAN); MenuItem item; item = menu.findItem(R.id.menu_item_add); item.setEnabled(scanAvailable); return super.onPrepareOptionsMenu(menu);}在這個例子中,如果條形碼掃描應用沒有安裝菜單會被置灰,不可用。 另用簡單的方式是在調用startActivity()時捕獲ActivityNotFoundException, 但是這種方式只能異常發生後對用戶進行提醒,不能提前告知用戶,它可以用在提醒用戶安裝缺失應用的場合,你可引導用戶去應用市場上去下載安裝。
④ android studio中以library形式的模塊在androidmanifest文件中怎麼寫
是的,不管是eclipse還是studio,都是在AndroidManifest.xml中增加許可權。Android Studio 是一個Android開發環境,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用於開發和調試。在IDEA的基礎上,Android Studio 提供 : 1. 基於Gradle的構建支持。 2. Android 專屬的重構和快速修復。 3. 提示工具以捕獲性能、可用性、版本兼容性等問題。 4. 支持ProGuard 和應用簽名。 5. 基於模板的向導來生成常用的 Android 應用設計和組件。 6. 功能強大的布局編輯器,可以拖拉 UI 控制項並進行效果預覽。
⑤ Android Studio怎麼新建Android公共庫模塊
Android Studio新建Android公共庫模塊的方法步驟:
在Android Studio中依次點擊【File】——【New Mole】,打開窗體【Create New Mole】,選擇選項【Android Library】,點擊按鈕【Next】。
輸入模塊的Library Name和Mole Name,然後點擊按鈕【Finish】。即可完成公共庫模塊的添加。
⑥ 如何將android模塊生成apk
執行:$ cd <android>源碼目錄 $. build/envsetup.sh $ mmm packages/apps/<xxx> 你所要編譯的模塊或者你直接打make也可以,模塊編譯後會在out/target/proct/generic/system/app下生成對應的.apk包
⑦ 如何將android studio中的一個功能模塊獨立出來
1.Eclipse下App放置在項目根目錄的bin目錄中 2.而Android studio大改後,放在了mole中,所以你一定要記得你的存放路徑。也就是工程對應的文件夾。 android studio工程的存儲路徑下app/build/outputs/apk 其中app是你的mole,在對應的mole下即可找到
⑧ 如何使用ApkPlug進行Android平台下模塊化開發
步驟1:注冊ApkPlug官網賬號:
打開Apkplug官網後,點擊右上角的「注冊」,在跳轉頁面填入相關信息,注冊界面如下:
確認後注冊成功,使用你的賬號登錄網站。你就可以用Apkplug開發應用了
END
步驟2:開發插件
Apkplug中的插件也是一個完整的apk,它與普通應用的區別有以下3點:
1, 插件assets目錄下有一個plugin.xml文檔,通過它可判斷一個工程是主應用還是插件。
2, 插件有一個入口類BundleActivator
3, 插件會外部引用一個osgi.jar文件
開發插件的步驟有如下4步:
1,引入osgi.jar庫文件
Apkplug中插件需要導入的庫文件只有一個osgi.jar。
導入osgi.jar庫文件需要注意一下
osgi.jar文件只能引用不能編譯到apk文件中,否則會出現類沖突的情況
異常代碼:had used a different Lorg/osgi/framework/BundleActivator; ring pre-verification。
osgi.jar包導入方法:
這文件在Apkplug SDK中可以找到。
2,編寫插件入口類BundleActivator
插件啟動時首先調用BundleActivator,其功能類似android中的application類。
public class SimpleBundle implements BundleActivator
{
private BundleContext mcontext = null;
public void start(BundleContext context) throws Exception
{
System.err.println("你好我是插件,我將為你展示啟動acitivty我已經啟動了 我的BundleId為:"+context.getBundle().getBundleId());
}
public void stop(BundleContext context)
{
System.err.println("你好我是插件,我被停止了 我的BundleId為:"+context.getBundle().getBundleId());
}
}
3,編寫plugin.xml配置文件
plugin.xml
是一個配置表,它跟AndroidManifest.xml作用類似。 plugin.xml文檔放置在assets中即可 重要屬性說明:
Bundle-Name 插件名稱 Bundle-SymbolicName 插件包名
-與應用packagename可一一對應 Bundle-Version 插件版本 -1.0.0
Bundle-Activator 插件入口 -與Appliction 類似
Bundle-Activity 插件界面 -多個Activity可用 , 分割
Bundle-Service 插件Service -多個Service可用 , 分割
(v2.0.0新增) Bundle-Receiver 插件廣播 -多個廣播類可用 , 分割
(v2.0.0新增)
4, 編譯生成插件apk文件
插件工程中添加的文件目錄結構如下:
最後編譯運行插件工程,生成的apk文件即為插件文件
END
步驟3:開發主應用
Apkplug 主應用開發分兩步集成:
1. 獲取主應用授權AppAuth。
登錄賬號進入Apkplug後台後,切換到「應用授權頁面」,按要求填寫好應用信息,然後確定,你就擁有了一個等待開發的應用授權AppAuth。應用授權界面如下:
進入「授權列表」頁面,點擊「查看詳情」鏈接,進入「應用詳情界面」,就可以看到已申請的AppAuth,點擊其後面的「復制」,即可直接復制AppAuth,如下圖所示
2. 對接Apkplug SDK 導入相關庫文件。
①配置應用許可權
主應用需要幾個基礎的許可權配置,請將以下的幾個許可權加入到主應用的AndroidManifest.xml中。
<!-- 插件平台需要的許可權! -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>
另外將一下加入到<application></application>節點中
<!-- 插件平台需要的配置! -->
<activity
android:name="org.apkplug.app.apkplugActivity"
android:theme="@style/android:Theme.Light"
android:configChanges="orientation|keyboardHidden"
/>
最後將我們從Apkplug管理後台申請到的AppAuth加入到配置文件中。
<meta-data android:name="apkplug-auth" android:value="xxxxxxxx" ></meta-data>
註:由於3.2.2節中我們直接復制了AppAuth,此處直接粘貼到AndroidManifest文檔中。
如下圖:
②導入SDK庫文件
主應用需要導入兩個文件,將其放入libs目錄中即可。
1, libndkfoo.so
2, Bundle2.0.0.jar
如下圖:
這兩個庫文件在Apkplug SDK中可以找到。
然後:
主應用啟動Apkplug最簡只需要一段代碼即可,建議在Application中啟動框架。
FrameworkInstance frame=FrameworkFactory.getInstance().start(List<BundleActivator>,Context);
將上一步驟開發好的插件apk,放置在主應用工程里的assets路徑下。
http://jingyan..com/article/ca41422fc2ce471eae99ed3d.html
⑨ android有幾種方法實現類似windows的dll的模塊,供其他android調用
1、本質,Java代碼經過編譯,導出jar,其他項目中安裝調用jar
2、整個項目設為依賴庫項目,導入變成控制項後,由其他工程調用
3、存在特定路徑下作為公共庫,在需要引用此庫的工程的lib目錄中包括公共庫路徑
4、其他……
⑩ 什麼是android應用模塊開發
android應用模塊開發:
在android的項目開發中,都會遇到後期功能拓展增強與主程序代碼變更的現實矛盾,也就是程序的靈活度。
由於linux平台的安全機制,再加上dalvik的特殊機制,各種許可權壁壘,使得開發一個靈活多變的程序,變得比較困難,不像pc平台下那麼容易。
瞅瞅elipse的插件,瞅瞅360的插件,在android下,我們一開始很難寫好一個主程序,然後通過插件機制來應對以後的功能拓展,於是程序變得不那麼靈活多變了。
比如一款android下的安全軟體,新版本增加了一個功能,如簡訊攔截,往往會因為一個模塊的增加,而重新編譯一個apk包,這樣周而復始,哪怕只增加50kb的功能代碼,用戶也需要升級一個完整的apk,往往是5~6M的體積。